import ddt
import unittest

from python.unit.param.util.FileUtils import read_txt, read_excel
from python.unit.param.util.JDBCUtils import get_sql_content

"""
    1、想要使用  ddt  来实现 我们的参数化 要 首先下载所需要的模块
        pip install ddt
        
    2、如果在一个  测试类中 想要使用 ddt  ：
        1、在类名上 添加 @ddt
        2、在测试方法上 添加 @ddt.data(数据源)
"""

dp1 = [('hanamaki', '123456'), ('andy', '123456'), ('jojo', '123456'), ('rose', '123456'), ('jack', '123456'),
       ]

dp3 = get_sql_content('login', 'user_name', 'user_password')

dp4 = read_txt("E:\\PythonWork\\seleniumStudy\\python\\unit\\param\\util\\data.txt")

dp5 = read_excel("../param/util/data.xls")

dp2 = [
    {'username': 'yutou', 'password': '123456'}
]


@ddt.ddt()
class MyTestCase(unittest.TestCase):

    @ddt.data(*dp1)
    def test_tuple(self, data):
        print('用户名', data[0])
        print('密码', data[1])

    @ddt.data(*dp2)
    def test_dict(self, data):
        print('用户名', data['username'])
        print('密码', data['password'])

    @ddt.data(*dp3)
    def test_sql(self, data):
        print('用户名', data[0])
        print('密码', data[1])

    @ddt.data(*dp4)
    def test_txt(self, data):
        print('用户名', data[0])
        print('密码', data[1])

    @ddt.data(*dp5)
    def test_excel(self, data):
        print('用户名', data[0])
        print('密码', data[1])


if __name__ == '__main__':
    pass
